package com.bjtraffic.gov.info.manager.dao;

import com.bjtraffic.gov.info.manager.domain.Subway;

import java.io.*;
import java.util.ArrayList;

public class SubwayDao {
    //设计一个集合用于封装所有地铁站信息的对象
    private static ArrayList<Subway> subList = new ArrayList<>();

    static {
        //在静态代码块调用加载信息的方法
        subwayLoad();
    }

    public static void reSave(String num, String name, String line) {
        //使用对象序列化流
        try {
            //创建地铁站对象,使用它的带参构造方法
            Subway sub = new Subway(num, name, line);
            //将封装好的地铁站对象添加到集合中
            subList.add(sub);
            //创建对象序列化流对象
            ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("bjtraffic-gov-info-manager\\subways.txt"));
           //将集合中的地铁站对象写入到文件中
            oos.writeObject(subList);
            //关流
            oos.close();
        } catch (IOException e) {

        }
    }

    public static void subwayLoad() {
        try {
            ObjectInputStream ois = new ObjectInputStream(new FileInputStream("bjtraffic-gov-info-manager\\subways.txt"));
            subList = (ArrayList<Subway>) ois.readObject();
            ois.close();
        } catch (Exception e) {

        }
    }

    public ArrayList<Subway> checkSubway() {
        //返回这个地铁站对象的集合
        return subList;
    }

    public void addSubway(String num, String name, String line) {
        //库管调用自己的reSave方法保存新的站点对象信息
        reSave(num, name, line);
    }

}
